#include <QApplication>

#include "../IApplication.h"

class MainFrame;
class SApplication : public IApplication {
 public:
  SApplication(int argc, char* argv[]);
  ~SApplication();

  // implement IApplicaton
  virtual int run() override;
  IMainFrame* mainFrame() const override;
  int execCommand(int cmd, const char* parameters) override;
  int execCommand(const QString* cmd_name,
                  const QJsonObject* parameters) override;
  float uiScale() override;

 private:
  MainFrame* m_frame = nullptr;
  QApplication* m_qApp = nullptr;

  int m_argc = 0;
  char** m_argv = nullptr;
};
